package com.jiang.剑指Offer.动态规划.NC68;

/**
 * @author Jiang
 * @version 1.0
 * @date 2024/12/11 21:49
 */
public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param number int整型
     * @return int整型
     */
    public int jumpFloor (int number) {
        // 动态规划
        int[] dp = new int[40];
        dp[0] = 1; dp[1] =1;
        for (int i = 2 ; i <= number ; i ++) dp[i] = dp[i-1]+dp[i-2];
        return dp[number];

        // 滑动窗口
        // int a1 = 0, a2 = 0, a3 = 1;
        // for (int i = 0; i < number; i++) {
        //     a1 = a2;
        //     a2 = a3;
        //     a3 = a1 + a2;
        // }
        // return a3;

        // 递归
        // if (number == 1) return 1;
        // if (number == 2) return 2;
        // return jumpFloor(number - 1) + jumpFloor(number - 2);
    }
}
